﻿# -*- coding:utf-8 -*-
# title           :
# description     :
# author          :Python超人/三月三提供
# date            :2024-08-15
# link            :https://gitcode.net/pythoncr/
# python_version  :3.9
# ==============================================================================
from 神笔码靓.码靓库.手机.手机彩虹矩阵壁纸 import 手机彩虹矩阵壁纸
from 神笔码靓.码靓库.手机.手机绘图板 import 手机绘图板
from 神笔码靓.神笔库 import 样式工具集
from 神笔码靓.神笔库.定义集 import *
from 神笔码靓.神笔库.配置 import *
from 神笔码靓.神笔库.通用工具集 import *

π = """
3.14159 26535 89793 23846 26433
83279 50288 41971 69399 37510
58209 74944 59230 78164 06286
20899 86280 34825 34211 70679
82148 08651 32823 06647 09384
46095 50582 23172 53594 08128
48111 74502 84102 70193 85211
05559 64462 29489 54930 38196
44288 10975 66593 34461 28475
64823 37867 83165 27120 19091
45648 56692 34603 48610 45432
66482 13393 60726 02491 41273
72458 70066 06315 58817 48815
20920 96282 92540 91715 36436
78925 90360 01133 05305 48820
46652 13841 46951 94151 16094
33057 27036 57595 91953 09218
61173 81932 61179 31051 18548
07446 23799 62749 56735 18857
52724 89122 79381 83011 94912
98336 73362 44065 66430 86021
39494 63952 24737 19070 21798
60943 70277 05392 17176 29317
67523 84674 81846 76694 05132
00056 81271 45263 56082 77857
71342 75778 96091 73637 17872
14684 40901 22495 34301 46549
58537 10507 92279 68925 89235
42019 95611 21290 21960 86403
44181 59813 62977 47713 09960
51870 72113 49999 99837 29780
49951 05973 17328 16096 31859
50244 59455 34690 83026 42522
30825 33446 85035 26193 11881
71010 00313 78387 52886 58753
32083 81420 61717 76691 47303
59825 34904 28755 46873 11595
62863 88235 37875 93751 95778
18577 80532 17122 68066 13001
92787 66111 95909 21642 01989    
"""

if __name__ == '__main__':

    # print()
    绘图 = 手机绘图板(作品文件路径="手机壁纸_彩虹圆周率.svg", 显示整机=否, 锁屏=否)
    圆周率 = π.replace("\n", "")
    步进 = 29
    字体大小 = 44
    左右边距 = 150
    上边距 = 550
    整体下移 = 100
    x, y = 0, 0

    矩形 = 绘图.画矩形(x=0, y=0, 宽=绘图.屏幕宽, 高=绘图.屏幕高, 填充颜色=颜色.黑色).添加到列表(绘图.屏幕元素列表)

    元素列表 = 列表()
    # 画大圆和周长展开线
    大圆半径 = 105
    大圆周长 = 大圆半径 * 2 * 3.14159
    大圆心X, 大圆心Y = 左右边距 + 大圆半径, 上边距 + 大圆半径 + 100 + 整体下移
    线宽 = 10
    绘图.画圆(x=大圆心X, y=大圆心Y, 半径=大圆半径, 描边颜色=颜色.白色, 描边宽度=线宽).添加到列表(元素列表)
    绘图.连线(路径点列表=[
        ("移动", 大圆心X, 大圆心Y + 大圆半径), ("水平线", 大圆心X + 大圆周长)
    ], 描边颜色=颜色.白色, 描边宽度=线宽).添加到列表(元素列表)

    # 画小圆和周长展开线
    小圆半径 = 大圆半径 / 1.4
    小圆周长 = 小圆半径 * 2 * 3.14159
    小圆心X, 小圆心Y = 大圆心X + 大圆周长 - 小圆半径, 大圆心Y - 大圆半径 + 小圆半径
    绘图.画圆(x=小圆心X, y=小圆心Y,
          半径=小圆半径, 描边颜色=颜色.白色, 描边宽度=线宽).添加到列表(元素列表)

    绘图.连线(路径点列表=[
        ("移动", 小圆心X, 小圆心Y - 小圆半径), ("水平线", 小圆心X - 小圆周长)
    ], 描边颜色=颜色.白色, 描边宽度=线宽).添加到列表(元素列表)

    绘图.写字(x=绘图.屏幕宽 / 2, y=绘图.屏幕高 / 1.38 + 整体下移, 文字="π", 填充颜色=颜色.白色,
          字体大小=1200, 字体=系统字体.TimesNewRoman).透明度(0.45).添加到列表(元素列表)
    行数 = 0
    for i in 范围(0, 返回长度(圆周率), 步进):
        if 行数 >= 20:
            break
        行数 += 1
        if 行数 == 1:
            文字 = 圆周率[i: i + 步进 + 2]
        else:
            文字 = 圆周率[i + 2: i + 步进 + 2]
        # if 返回长度(文字) < 步进:
        #     break
        绘图.写字(x=绘图.屏幕宽 - 左右边距, y=绘图.屏幕高 / 2.5 + y * 字体大小 * 1.3 + 整体下移, 文字=文字, 填充颜色=颜色.白色,
              字体大小=字体大小, 字体=系统字体.CourierNew,
              水平基线对齐=文字水平基线对齐.结束点对齐, 垂直基线对齐=文字垂直基线对齐.顶线对齐).添加到列表(元素列表)
        y += 1
    开始位置 = (绘图.屏幕宽, 绘图.屏幕高 - 400)
    结束位置 = (0, 绘图.屏幕高 / 1.5)

    渐变色 = 绘图.创建彩虹线性渐变色(开始位置=开始位置, 结束位置=结束位置,
                       关键点偏移=(0, 1.0), 关键点透明度=1, 彩虹七色=样式工具集.彩虹色2)
    矩形 = 绘图.画矩形(x=0, y=0, 宽=绘图.屏幕宽, 高=绘图.屏幕高, 填充颜色=渐变色).添加到列表(绘图.屏幕元素列表)

    裁剪元素_ = 绘图.创建组合(元素列表=元素列表)

    绘图.遮罩(遮罩元素_=裁剪元素_, 被遮元素=矩形)

    绘图.完成()
    # SVG 转 PNG 建议使用 https://svgtopng.com/zh/  滤镜支持
    # 神笔.生成PNG(生成方式=PNG生成方式.cairosvg, 缩放=2) # 不支持滤镜
